It is often desirable to operate a model of a plant or system in real time to predict the output(s) of that system based on a set of measured inputs. The predicted output(s) can then be used to control the system in order to obtain the desired outputs.
In the case where the model was created and fitted to data off-line, it is usually beneficial to permit the model to be refined based on on-line measurements of the system output, in order for a generic model to be adapted to an individual system or to the particular operating conditions of the system.
Adaptive algorithms are known, which can refine a model of a system based on the measured inputs and outputs of the system while on-line. Such algorithms typically use methods based on recursive least squares to refine the model and it is known to tailor the way in which such models are refined using “forget factors” to determine how much effect the new data has on the model, and covariance matrices to incorporate estimated parameter uncertainty information into the adaptive parameter updates.
A significant problem of known real-time adaptive algorithms is that they may over-adapt the model to the current data. The longer the system runs at a steady operating point, the more data about that operating point accumulates and the more closely the model will be tuned to behaviour at that operating point. The consequence of over-adaptation is a model that gives accurate predictions of response around the current operating point but predicts badly when the operating point changes: i.e. the generality of the model is lost.